home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Amiga Club Hoorn / ACH ClubDiskette No.17 (1994-06)(Amiga Club Hoorn)(NL).zip / ACH ClubDiskette No.17 (1994-06)(Amiga Club Hoorn)(NL).adf / Utilitie / FastJPEG.doc / FastJPEG.doc
Text File  |  1994-06-10  |  16KB  |  438 lines

  1.                                FastJPEG 1.0
  2.  
  3.                  A fast JPEG picture viewer for the Amiga
  4.                Copyright © 1993 Christoph Feck, TowerSystems
  5.                            All Rights Reserved.
  6.  
  7.                         Dedicated to Stefan Schulz
  8.                   I hope you had a great time over there.
  9.  
  10.  
  11.    'Introduction    '                  What is FastJPEG ?
  12.    'Features        '                  What makes FastJPEG so special?
  13.    'Requirements    '                  What systems will FastJPEG run on?
  14.  
  15.    'Installation    '                  Before using FastJPEG.
  16.    'Usage           '                  How to use FastJPEG.
  17.    '- from Workbench'                  Starting FastJPEG via icon.
  18.    '- from CLI/Shell'                  Starting FastJPEG via command line.
  19.  
  20.    'Known Bugs      '                  What does not work?
  21.    'History         '                  What is new in this version?
  22.    'Future          '                  What may the future bring?
  23.  
  24.    'Acknowledgments '                  Whom I want to thank.
  25.    'Disclaimer      '                  Short: Use it at your own risk!
  26.    'Copyright       '                  About legal issues.
  27.    'License         '                  What you have to agree on.
  28.  
  29.    'Support         '                  What I will do for you.
  30.    'Author          '                  Where you can reach me.
  31.  
  32.  
  33.  
  34. Introduction
  35. ************
  36.  
  37. FastJPEG (or abbreviated: FJPEG) is nothing less - but also nothing more -
  38. than a fast JPEG picture viewer.  Let me claim that it is the fastest JPEG
  39. viewer freely available for the Amiga.
  40.  
  41. Besides being fast, it has many other advantages.  Just tale a look at the
  42. list of 'features'.
  43.  
  44. An important goal was to not trade quality for speed.  In fact, FastJPEG is
  45. both fast and has an excellent quality.  Most other JPEG viewers either
  46. produce ugly pictures, or need ages to perform the conversion to HAM mode.
  47.  
  48. The key to the improved quality is a technique called `dithering', where
  49. colors not displayable on the Amiga are approximated by giving neighboring
  50. pixels similar colors, which the eye then mixes to the desired one.
  51.  
  52. A common variety of this method is the `Floyd Steinberg' error dispersion
  53. algorithm, which is very time intensive, but produces the best pictures.
  54.  
  55. FastJPEG does not use this method, as it would drastically reduce
  56. performance.  The dithering method used in FastJPEG, however, produces
  57. pictures of similar quality.
  58.  
  59. I wrote and released this program for the Amiga community, which has
  60. deserved such a program.  For too many months we have had to stay with an
  61. ugly looking viewer, whose name I just forgot...
  62.  
  63. I have not written this for me.  I prefer TowerView, which is window based,
  64. and is a real application.  I will release TowerView when it is ready, but
  65. this will take more time than I had originally envisioned, because the
  66. `todo' list currently grows faster on the end, than it shrinks on the top.
  67.  
  68. If you are interested in a preview, you can get the file `TV_Preview.lha',
  69. which is on any Aminet ftp site.
  70.  
  71.  
  72.  
  73.  
  74. Features
  75. ********
  76.  
  77. - It's free!
  78.  
  79. - Runs on any Amiga.
  80.  
  81. - Special AGA version included (for HAM8 mode).
  82.  
  83. - Supports OS 2.0 features, such as overscan and autoscroll.
  84.  
  85. - Both CLI/Shell and Workbench interface.
  86.  
  87. - Only 20 kByte in size.
  88.  
  89. - Reentrant (resident loadable).
  90.  
  91. - Excellent quality, even in standard HAM.
  92.  
  93. - Carefully selected color palettes and conversion algorithms.
  94.  
  95. - Dithering to increase the number of apparent colors.
  96.  
  97. - Smoothing, if the image width is halved to fit on the screen.
  98.  
  99. - Minimal `fringing'.
  100.  
  101. ...and of course:
  102.  
  103. - It's fast!
  104.  
  105.  
  106.  
  107.  
  108. Requirements
  109. ************
  110.  
  111. FastJPEG runs on any Amiga.  Bigger pictures might require 1 meg memory,
  112. especially, if you have some other programs running in the background.
  113.  
  114. There is a special AGA version included, which performs the conversion to
  115. HAM8 mode.  This version requires a 68020 processor (or better), at least
  116. OS 3.0, and - surprise - the AGA chip set.
  117.  
  118. Some features of FastJPEG are only available if you have OS 2.0 or better.
  119. Among these are overscanned screens (FastJPEG uses your preferred graphics
  120. overscan setting, if the picture doesn't fit into the text overscan area),
  121. automatic scrolling of the screen (if you try to move the pointer outside
  122. to reveal other parts of large images), and the ability to specify a
  123. pattern as a file argument, when using the Shell interface.
  124.  
  125.  
  126.  
  127.  
  128. Installation
  129. ************
  130.  
  131. Choose either FJPEG_ECS (the OCS/ECS version) or FJPEG_AGA (the AGA
  132. version) and rename it to FJPEG for easier use.  You can do this by
  133. selecting either FJPEG icon, and selecting the `Rename' command from the
  134. Icon (2.0) or Workbench (1.3) menu.  After deleting the trailing four
  135. characters, press the RETURN key.
  136.  
  137. * Note that you should use the FJPEG_AGA version if you are lucky owner of
  138.   an A1200 or A4000.  This version supports the HAM8 mode (and only this
  139.   mode), for much better quality.
  140.  
  141. FastJPEG runs fine from both harddisk and floppy disk.  If you want to copy
  142. it to another drawer, just move the icon onto it.
  143.  
  144.  
  145.  
  146.  
  147. Usage
  148. *****
  149.  
  150. FastJPEG can be started in two ways:
  151.  
  152. - 'from the Workbench', by double clicking on a picture's icon, while
  153.    holding down the shift key, and having selected the FJPEG icon, or
  154. - 'from the CLI/Shell', by entering the command FJPEG in a CLI or Shell
  155.   window, along with the name of the file you wish to view.
  156.  
  157. FastJPEG supports multiple arguments, meaning that you can either select
  158. more than one icon or name on the command line at one time.  For details,
  159. see the specific section.
  160.  
  161. After FastJPEG is running, it processes each argument you supplied.  It
  162. will check if it is a JPEG file (JFIF, or raw JPEG) and start loading the
  163. data as it displays on a custom screen.  The screen is a `quiet' screen,
  164. having neither a title bar nor a window border, so that you can use one of
  165. your preferred screen grabbers to capture the rendered picture to a file.
  166.  
  167. If there is an error, FastJPEG will display a requester, or print the
  168. message into the Shell window.  Currently, the following messages can
  169. appear:
  170.  
  171. "Required argument missing" - You started FastJPEG without any arguments.
  172. "Not enough memory"         - Should be pretty self explanatory.
  173. "Can't open screen"         - The picture is too big to fit into chip ram.
  174. "Can't open file"           - The file was not found.  Check the file name.
  175.                               With OS 2.0, the exact reason will be printed
  176.                               into the Shell window instead.
  177. "Can't read file"           - There was a DOS error while reading.
  178. "Not a JPEG file"           - You can only view JPEG files with FastJPEG.
  179.                               Formats such as IFF-ILBM or GIF are not
  180.                               supported.
  181. "Error in JPEG file"        - The JPEG code reported any error, such
  182.                               as corrupted file, or unsupported modes.
  183.  
  184. If the picture loaded correctly, just press the left mouse button to
  185. proceed with the next picture, or to quit FastJPEG on the last picture.
  186. Pressing the right mouse button quits FastJPEG without processing any
  187. remaining arguments.
  188.  
  189.  
  190.  
  191.  
  192. Workbench Usage
  193. ***************
  194.  
  195. You have to start FastJPEG with arguments.  Otherwise it will display an
  196. error requester and exit.
  197.  
  198. There are two ways to do so.  The first is to use extended selection in
  199. conjunction with the shift key.  The second is to use FastJPEG as the
  200. default tool for JPEG pictures having an icon.  This way, you can view the
  201. files by just double clicking on them.
  202.  
  203. I did not add those fancy file requesters and AppIcons.  If you like these
  204. features, use ToolManager or MegaView, a frontend for file viewers.
  205.  
  206.  
  207.  
  208.  
  209. CLI/Shell Usage
  210. ***************
  211.  
  212. The template for FastJPEG is "Files/M/A", meaning that you must specify at
  213. least one file name after the command name.  The number of files you can
  214. specify is limited to 10 when running under OS 1.3.
  215.  
  216. Starting with OS 2.0, you can specify any valid AmigaDOS pattern here.  For
  217. a description of all possibilities to build patterns, check your AmigaDOS
  218. manual.  The easiest is probably the #? joker, which replaces any number of
  219. any characters.
  220.  
  221. An example would be:
  222.  
  223.     FJPEG #?.jp#?g
  224.  
  225. This will match any names ending in an extension `.jpg', `.jpeg', and so
  226. on.  If you have still OS 1.3 you can't use such patterns.
  227.  
  228. FastJPEG is reentrant, and can be loaded resident in memory with the
  229. `resident' command.
  230.  
  231.  
  232.  
  233.  
  234. Known Bugs
  235. **********
  236.  
  237. FastJPEG cannot load greyscale JPEG files.  The message "Error in JPEG
  238. file" will appear if you try to load a greyscale JPEG.  If you really need
  239. to view greyscale pictures, I may add this feature at the cost of code
  240. size.
  241.  
  242. Also, FastJPEG is not able to deal with 'multiple scan' files.  I know of
  243. no software which produces such files.
  244.  
  245. Due to limitations in OS 1.3, you cannot view pictures larger than the size
  246. of your screen.  FastJPEG will not scale them to fit, other than the
  247. regular halving of the width to compensate the non-square pixel aspect in
  248. standard HAM interlaced mode.
  249.  
  250.  
  251.  
  252. History
  253. *******
  254.  
  255. Version 1.0, released on 15-Dec-93:
  256. - First public release.
  257.  
  258.  
  259.  
  260. Future
  261. ******
  262.  
  263. As you might imagine, I already have plans for the future.  However, they
  264. will likely go into TowerView.  This should not prevent you from making
  265. suggestions.  If I think that a feature is useful, and both my programming
  266. capabilities and my time table permits it, I will try to implement it.
  267.  
  268. I already got some requests for making a picture datatype class for OS 3.0
  269. users.  My current plan is to write an interface between the datatypes
  270. library and the Tower loader libraries.  There are already a handful of
  271. loader libraries for 24 bit picture formats.  The datatypes interface would
  272. obtain the 24 bit raw data from the Tower loaders and then convert the data
  273. to either HAM, HAM8 or a fixed amount of colors.  This would also allow an
  274. easy transition to RTG, where the interface could directly pass the 24 bit
  275. data to the requesting application, if it is 24 bit aware.
  276.  
  277.  
  278. Acknowledgments
  279. ***************
  280.  
  281. First, I must state that this program is based in part on the work of the
  282. Independent JPEG Group.  Without their priceless work, FastJPEG would not
  283. even exist.  Special thanks to Tom for guiding me to the right places for
  284. possible optimizations.
  285.  
  286. Thanks to all beta testers:
  287.  
  288. - Martin Apel, for letting me test all my AGA programs on his A4000.
  289.  
  290. - Jason N. Lee, for polishing up my bad english, and for testing FastJPEG
  291.   on his accelerated A2000.
  292.  
  293. - Borge Noest and Frank Grimm, who provided me with snapshots of AGA
  294.   renderings, so that I could discover the evil fringing bug.
  295.  
  296. - Osma Ahvenlampi, for creating the MagicWB icon, and for testing on
  297.   his 68010 Amiga.
  298.  
  299. - Scott Ellis, for making suggestions and testing FastJPEG with OS 3.1.
  300.  
  301. - Billy Laughlin, for spellchecking the documentation, and for testing
  302.   FastJPEG on his OS 1.3 Amiga.
  303.  
  304. Further testing was done by Martin Schulze, Rick Gideon, Vikram Kimyani,
  305. and Jon M. Price.  Thanks to all of them!
  306.  
  307.  
  308.  
  309. Disclaimer
  310. **********
  311.  
  312. Standard disclaimer:
  313.  
  314. THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
  315. LAW.  EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
  316. OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
  317. EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  318. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  319. ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
  320. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  321. SERVICING, REPAIR OR CORRECTION.
  322.  
  323. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
  324. ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
  325. AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
  326. SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  327. INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  328. DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
  329. OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
  330. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  331. DAMAGES.
  332.  
  333.  
  334.  
  335.  
  336. Copyright
  337. *********
  338.  
  339. FastJPEG is Copyright © 1993 Christoph Feck, TowerSystems.  All Rights
  340. Reserved.  It is released under the concept of `Freeware'.  It has never
  341. been, nor will it ever be in the `Public Domain'.
  342.  
  343. The archive may only be distributed in unmodified form.  No files may be
  344. added, changed or removed.  You may not charge for this archive, other than
  345. the cost of the media and duplication fees, as long as they don't exceed
  346. the fees taken by Fred Fish.  Distribution is allowed in all forms, such as
  347. BB systems, floppy or compact disks, and ftp sites.
  348.  
  349. Any inclusion in a commercial, semi-commercial or Shareware distribution
  350. requires the written permission of the author.
  351.  
  352.  
  353.  
  354. License
  355. *******
  356.  
  357. These are the conditions you must agree on before and while using FastJPEG:
  358.  
  359. You may copy and distribute verbatim copies of the program's executable
  360. code and documentation as you receive it, in any medium, provided that you
  361. conspicuously and appropriately publish only the original, unmodified
  362. program with all copyright notices and disclaimers of warranty intact and
  363. including all the accompanying documentation, example files and anything
  364. else that came with the original archive.
  365.  
  366. Except where otherwise stated in this documentation, you may not copy
  367. and/or distribute this program without the accompanying documentation and
  368. other additional files that came with the original.  You may not copy
  369. and/or distribute modified versions of this program.
  370.  
  371. You may not copy, modify, sublicense, distribute or transfer the program
  372. except as expressly provided under this license.  Any attempt otherwise to
  373. copy, modify, sublicense, distribute or transfer the program is void, and
  374. will automatically terminate your rights to use the program under this
  375. license.  However, parties who have received copies, or rights to use
  376. copies, from you under this license will not have their licenses terminated
  377. so long as such parties remain in full compliance.
  378.  
  379. By copying, distributing and/or using the program you indicate your
  380. acceptance of this license to do so, and all its terms and conditions.
  381.  
  382. Each time you redistribute the program, the recipient automatically
  383. receives a license from the original licensor to copy, distribute and/or
  384. use the program subject to these terms and conditions.  You may not impose
  385. any further restrictions on the recipients' exercise of the rights granted
  386. herein.
  387.  
  388. You may not disassemble, decompile, re-source or otherwise reverse-engineer
  389. the program.
  390.  
  391. You agree to cease distributing the program and data involved if requested
  392. to do so by the author.
  393.  
  394.  
  395.  
  396.  
  397. Support
  398. *******
  399.  
  400. No software is perfect.  If there are any new versions available, perhaps
  401. because there is a bug fixed or a feature was added, I will announce it in
  402. the international Usenet newsgroup comp.sys.amiga.announce, and will upload
  403. it to the Aminet ftp sites.  I will also send new versions to Fred Fish, to
  404. let him publish it in his wonderful Amiga software library.
  405.  
  406. I'm open to suggestions and comments.  Also, if you have problems with
  407. FastJPEG, you can contact me to ask for help.  However, you cannot expect
  408. me to do everything.  You get the support for free, and I must keep an eye
  409. on my CS studium, so if you don't get a reply within a week or two, I'm
  410. probably busy writing exams.
  411.  
  412.  
  413.  
  414.  
  415. Author
  416. ******
  417.  
  418. To send suggestions, bug reports, comments, flames, etc., you can contact
  419. me at one of the following addresses.  Even if FastJPEG is free, I
  420. certainly won't refuse any kind of donations, being a poor student :)
  421.  
  422.     Christoph Feck
  423.     TowerSystems
  424.     Balbierstrasse 6
  425.     D-67663 Kaiserslautern
  426.     Germany
  427.  
  428.     Email: feck@informatik.uni-kl.de
  429.     IRC: Pepo (frequently on #amiga and #amigager)
  430.  
  431. Have fun and thanks for your time reading this!
  432.  
  433. 3k// Christoph Feck, TowerSystems
  434. \\X/ Amiga - Intuition inside.
  435.  
  436.  
  437.  
  438.